 

package com.zdkj.subway.stm.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zdkj.subway.stm.entity.SwStInvoiceXaztCheck;

import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;

/**
 * 西安中铁定额发票盘点
 *
 * @author cxp
 * @date 2024-11-27 20:05:26
 */
public interface SwStInvoiceXaztCheckService extends IService<SwStInvoiceXaztCheck> {
    // 分页查询
    IPage<SwStInvoiceXaztCheck> page(Page page, SwStInvoiceXaztCheck swStInvoiceXaztCheck);

    // 查询前一月盘点数据
    SwStInvoiceXaztCheck getPreviousMonthInvoiceXaztCheck(String checkTime, int depth);

    // 新增或修改西安中铁定额发票盘点
    boolean saveOrUpdateInvoiceXaztCheck(SwStInvoiceXaztCheck swStInvoiceXaztCheck);

    // 西安中铁定额发票盘点数据批量提交
    boolean updateApprovalStatus(List<Integer> ids, String status, String auditType);

    // 车站导出西安中铁定额发票盘点
    void exportInvoiceXaztCheckForStation(Long id, HttpServletResponse response);

	 // 车站导出西安中铁定额发票盘点--全部车站多个sheet
    void exportInvoiceXaztCheckForStationAll(String checkTime, HttpServletResponse response);

    // 查询要导出的西安中铁定额发票盘点数据
    List<SwStInvoiceXaztCheck> getInvoiceXaztCheckRecords(String statisticsDate, List<String> stationCodes);

    // 处理西安中铁盘点数据
    Map<String, Map<LocalDate, List<Integer>>> processData(List<SwStInvoiceXaztCheck> invoiceXaztCheckList);
}
